package org.thirdHero.wx.request;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import me.chanjar.weixin.common.annotation.Required;

/**
 * 分账接收方对象，json格式
 */
@XStreamAlias("xml")
public class WxSharingReceiverRequest {
    /**
     * <pre>
     * 字段名：分账接收方类型
     * 变量名：type
     * 是否必填：是
     * 类型：string(32)
     * 示例值：MERCHANT_ID
     * 描述：MERCHANT_ID：商户ID
     * PERSONAL_WECHATID：个人微信号PERSONAL_OPENID：个人openid
     * </pre>
     */
    @Required
    private String type;
    /**
     * <pre>
     * 字段名：分账接收方帐号
     * 变量名：account
     * 是否必填：是
     * 类型：string(64)
     * 示例值：86693852
     * 描述：类型是MERCHANT_ID时，是商户ID
     * 类型是PERSONAL_WECHATID时，是个人微信号
     * 类型是PERSONAL_OPENID时，是个人openid
     * </pre>
     */
    @Required
    private String account;
    /**
     * <pre>
     * 字段名：分账接收方全称
     * 变量名：name
     * 是否必填：否
     * 类型：string(1024)
     * 示例值：示例商户全称
     * 描述：分账接收方类型是MERCHANT_ID时，是商户全称（必传）
     * 分账接收方类型是PERSONAL_WECHATID 时，是个人姓名（必传）
     * 分账接收方类型是PERSONAL_OPENID时，是个人姓名（选传，传则校验）
     * </pre>
     */
    private String name;

    /**
     * <pre>
     * 字段名：与分账方的关系类型
     * 变量名：relation_type
     * 是否必填：是
     * 类型：string(32)
     * 示例值：SERVICE_PROVIDER
     * 描述：子商户与接收方的关系。
     * 本字段值为枚举：
     * SERVICE_PROVIDER：服务商
     * STORE：门店
     * STAFF：员工
     * STORE_OWNER：店主
     * PARTNER：合作伙伴
     * HEADQUARTER：总部
     * BRAND：品牌方
     * DISTRIBUTOR：分销商
     * USER：用户
     * SUPPLIER：供应商
     * CUSTOM：自定义
     * </pre>
     */
    @Required
    private String relation_type;
   /**
    * <pre>
    * 字段名：自定义的分账关系
    * 变量名：custom_relation
    * 是否必填：否
    * 类型：string(10)
    * 示例值：代理商
    * 描述：
    * 子商户与接收方具体的关系，本字段最多10个字。
    * 当字段relation_type的值为CUSTOM时，本字段必填
    * 当字段relation_type的值不为CUSTOM时，本字段无需填写
    * </pre>
    */
    private String customRelation;

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    public String getCustomRelation() {
        return customRelation;
    }

    public void setCustomRelation(String customRelation) {
        this.customRelation = customRelation;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getRelation_type() {
        return relation_type;
    }

    public void setRelation_type(String relation_type) {
        this.relation_type = relation_type;
    }
}
